import React from 'react';
import PropTypes from 'prop-types'
import MeScroll from 'mescroll.js'


var mescroll=null
class MeScrollContainer extends React.Component {
  static propTypes = {
    id:PropTypes.string,
    prefixcls:PropTypes.string,
    location:PropTypes.object
   
  };
  static defaultProps = {
    id:'mescroll',
    prefixcls:'',
    location:{y:0,t:300}
  };
  constructor(props) {
    super(props)
    this.state = {
      
    }

  }

  componentDidUpdate(nextProps, nextState){
    
  }

  componentWillUnmount(){
    mescroll.destroy();
  }
  componentDidMount() {
	mescroll = new MeScroll(this.props.id, { //第一个参数"mescroll"对应上面布局结构div的id
   		//如果您的下拉刷新是重置列表数据,那么down完全可以不用配置,具体用法参考第一个基础案例
   		//解析: down.callback默认调用mescroll.resetUpScroll(),而resetUpScroll会将page.num=1,再触发up.callback
		down: {
      use:false,
			//callback: downCallback //下拉刷新的回调,别写成downCallback(),多了括号就自动执行方法了
		},
		up: {
			use:false,
		//	callback: upCallback , //上拉加载的回调
			isBounce: false //如果您的项目是在iOS的微信,QQ,Safari等浏览器访问的,建议配置此项.解析(必读)
		}
	});
  }
  componentDidUpdate(nextProps){
    if(nextProps.location != this.props.location)
      mescroll.scrollTo( nextProps.location.y, nextProps.location.t||300 );
  }
  

//id可以改,而"mescroll"的class不能删
  render() {
    const {id,prefixcls} = this.props;
      return (
        <div id={id} className={`${prefixcls} mescroll`} > 
	       		{this.props.children}
    	</div>
      )
    }
}

export default MeScrollContainer